/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package navegador;

/**
 *
 * @author SergioPeres
 */
public class Parametro {

    private int port;
    private String url;
    private String path;
    private String metodo;
    private String dados;

    public Parametro() {
        port = 80;
        url = "localhost";
        path = "/";
        metodo = "GET";
        dados = "";
    }

    public String getUrl() {
        return url;
    }

    public int getPort() {
        return port;
    }

    public String getPath() {
        return path;
    }

    public String getMetodo() {
        return metodo;
    }

    public String getDados() {
        return dados;
    }
     
    public boolean setParametros(String[] args) {
        if (args.length == 1) {
            processa(args[0]);
            return true;
        } else {
            if (args.length == 2) {
                processa(args[0]);
                metodo = args[1].toUpperCase();
                System.out.println("" + metodo);
                return true;
            } else {
                if (args.length > 2) {
                    processa(args[0]);
                    metodo = args[1];
                    dados = args[2];
                    for (int i = 3; i < args.length; i++) {
                        dados = dados + "&" + args[i];
                    }
                    return true;
                } else {
                    System.out.println("\nAbrindo interface grafica do navegador e finalizando o processo do console!!!\n");
                    return false;
                }
            }
        }
    }
    
    private void processa(String args) {
        boolean b = true;
        int i, j, tam = args.length();
        // Encontra o url. Ex: www.google
        for (i = 0; i < tam; i++) {
            if (args.charAt(i) == ':' || args.charAt(i) == '/') {
                break;
            }
        }
        b = (i == tam) ? false : true;
        if (b) {
            url = args.substring(0, i);
            if (args.charAt(i) == ':') {
                for (i = j = i + 1; i < tam; i++) {
                    if (args.charAt(i) == '/') {
                        break;
                    }
                }
                port = Integer.parseInt(args.substring(j, i));
            }
            if (i < tam) {
                path = args.substring(i);
            }
        } else {
            url = args;
        }
        //System.out.println("args: "+args+" |" + url + "|" + port + "|" + path + "|");
    }
}
